package samsung.sds.departmentManagement.dao;

import java.util.List;

import samsung.sds.departmentManagement.model.DepartmentEntity;
import samsung.sds.system.common.baseQuery.BaseMapper;
import samsung.sds.system.common.model.QueryParam;
import samsung.sds.userManagement.model.UserEntity;

/**
 * @author wch.wu
 * @createDate 2016-01-07
 * 
 * 组织节点操作方法
 */
public interface DepartmentMapper extends BaseMapper<DepartmentEntity> {
	
	/**
	 * 根据组织机构节点查询所有后代节点和自身节点信息
	 * @return
	 */
	public List<DepartmentEntity> selectSYS_DEPARTMENT02( String deptId );
	
	/**
	 * 删除多个组织结构节点
	 * @param departmentEntities
	 * @return
	 */
	public int deleteSYS_DEPARTMENT( List<DepartmentEntity> departmentEntities );
	
	/**
	 * 查询组织机构数据
	 * @param departmentEntity
	 * @return
	 */
	public DepartmentEntity selectSYS_DEPARTMENT01( DepartmentEntity departmentEntity );
	
	/**
	 * 查询组织机构下的用户
	 * @return
	 */
	public List<UserEntity> queryDepartmentUsersListPage( QueryParam param );
	
	/**
	 * 根据父部门ID查询子集合
	 * @param param
	 * @return
	 */
	public List<DepartmentEntity> selectSYS_DEPARTMENT( QueryParam param );
	
	/**
	 * 查询所有用户
	 * @return
	 */
	public List<UserEntity> queryDepartmentUsersPage(QueryParam param);
	

	
}
